package cn.web.web_module.service;

import cn.itcast.pojo.horseman;
import cn.itcast.pojo.order;

import java.util.List;
import java.util.Map;

/**
 * @Author: 张松
 * @Description:  最优距离算法
 * @Date: Created in 11:58 2020/7/25
 * @Modified By:
 */
public interface OptimalDistanceService {


    /**
     *
     * @Description: 根据骑手id获取最优路线
     *
     * @auther: 张松
     * @date: 16:43 2020/7/25
     * @param: [openId]
     * @return: java.util.Map
     *
     */
    public Map getOptimalDistance(String openId);


    /**
     *
     * @Description:  根据骑手openId查找骑手
     *
     * @auther: 张松
     * @date: 15:53 2020/7/25
     * @param: [openId]
     * @return: cn.itcast.pojo.horseman
     *
     */
    public horseman getHorseman(String openId);

    /**
     *
     * @Description: 根据骑手Id查找骑手正在进行中的订单
     *
     * @auther: 张松
     * @date: 15:53 2020/7/25
     * @param: [openId]
     * @return: java.util.List<cn.itcast.pojo.order>
     *
     */
    public List<order> getHorsemanInOrderLatAndLon(String openId);

    /**
     *
     * @Description:  根据骑手经纬度和用户下单经纬度计算最优距离
     *
     * @auther: 张松
     * @date: 16:42 2020/7/25
     * @param: [horseman, orders]
     * @return: void
     *
     */
    public void getCalculatesOptimal(horseman horseman, List<order> orders);


}
